odibowling2007 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2007odibowlingrating.csv")
odibowling2008 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2008odibowlingrating.csv")
odibowling2009 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2009odibowlingrating.csv")
odibowling2010 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2010odibowlingrating.csv")
odibowling2011 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2011odibowlingrating.csv")
odibowling2012 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2012odibowlingrating.csv")
odibowling2013 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2013odibowlingrating.csv")
odibowling2014 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2014odibowlingrating.csv")
odibowling2015 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2015odibowlingrating.csv")
odibowling2016 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2016odibowlingrating.csv")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
dataOdiBowling <- bind_rows(odibowling2007, odibowling2008, odibowling2009, odibowling2010, odibowling2011,
odibowling2012, odibowling2013, odibowling2014, odibowling2015, odibowling2016)
## Warning in bind_rows_(x, .id): Unequal factor levels: coercing to character
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
summary(dataOdiBowling)
## Name Rating LogRating
## Length:1000 Min. :328.0 Min. :2.516
## Class :character 1st Qu.:417.8 1st Qu.:2.621
## Mode :character Median :481.0 Median :2.682
## Mean :497.9 Mean :2.689
## 3rd Qu.:571.0 3rd Qu.:2.757
## Max. :874.0 Max. :2.942
library(ggplot2)
dataOdiBowling <- dataOdiBowling %>%
group_by(Name) %>%
summarise(avg = mean(Rating))
set.seed(20)
ballcluster <- kmeans(dataOdiBowling[, 2], 5)
ballcluster$cluster <- as.factor(ballcluster$cluster)
ggplot(dataOdiBowling, aes(dataOdiBowling$Name, avg, color = ballcluster$cluster)) +
geom_point(size = 2) +
scale_color_manual(labels = c("Good", "Best", "Useless", "Better", "Average"), values = c("blue", "red", "green", "cyan", "black")) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
ggtitle("ODI Bowling Ratings(2007-2016)")

dat <- arrange(dataOdiBowling, desc(avg)) %>%
mutate(rank = 1:nrow(dataOdiBowling))
dataOdiBowling <- merge(dataOdiBowling, dat, by = "Name")
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
p <- plot_ly(dataOdiBowling, x = ~Name, y = ~avg.x, type = 'scatter',
mode = 'markers', color = ballcluster$cluster,
text = ~paste('Rank: ', rank))
p
dat
## # A tibble: 259 x 3
## Name avg rank
## <chr> <dbl> <int>
## 1 S M Pollock 874 1
## 2 N W Bracken 752. 2
## 3 T A Boult 729 3
## 4 W P U Vaas 722. 4
## 5 S E Bond 717. 5
## 6 D L Vettori 687. 6
## 7 S P Narine 686. 7
## 8 A Nel 668 8
## 9 M Muralitharan 668. 9
## 10 D W Steyn 661. 10
## # ... with 249 more rows